home *** CD-ROM | disk | FTP | other *** search
-
- Slicer 2.1:
-
- Slicer is a program for creating abstract art based on mathematical
- functions, such as the Mandelbrot set, Julia sets, and related abstractions
- (chaotic dynamical systems). Features include; fast fixed or floating point
- arithmetic, many different functions (z²+c, z³-3a²z+b, sin(z) ...), many
- computation options (level sets, binary decomposition, epsilon cross,
- distance estimate), many coloring and rendering options, images may be
- recolored without recomputing, batch mode, focus, multi pass, zoom in, zoom
- out, pan, quick 2x zoom, and four dimensional navigation. The program is
- named "Slicer" because the pictures it makes can be thought of as cross
- sections or "slices" revealing the insides of solid (if imaginary) objects.
-
- For those who remember Slicer 1.x, forget it. This program is completely
- new, faster, more powerfull, easier to use, and I hope easier to
- understand.
-
-
- ************************************************************************
-
- Distribution:
-
- Copyright 1992 by Gary Teachout
-
- This program is freeware, and may be distributed freely. It may be
- distributed along with other freely distributable software. It may not be
- sold for profit, or included as part of a commercial software product. No
- donations are required but they would be accepted and appreciated.
-
-
- ************************************************************************
-
- Disclaimer:
-
- THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
- EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ITS FITNESS FOR ANY
- PARTICULAR PURPOSE. This software is experimental and IT HAS DEFECTS, if
- you do not accept all of the risks and responsibilities of using defective
- software, then DO NOT USE THIS.
-
-
- ************************************************************************
-
- Requirments:
-
- Slicer needs lots of memory, 1Mb of ram or more is best. On a 1Mb system
- you can use 640x400 screens with about 2000 bytes to spare, overscan will
- require more ram.
-
- To save picture files the, ILBM.Library must be in your LIBS: directory.
- It is included and may be installed by clicking the "Instal-ILBM-Lib" icon.
-
-
- ************************************************************************
-
- Acknowledgments:
-
- I would like to thank the following for helping to make Slicer work as
- well as it does, and for saving me a lot of work:
-
- Justin V. McCormick, for the PathMaster file selector.
-
- Software Dissidents, for the ILBM.Library.
-
-
- ************************************************************************
-
- Getting started:
-
- You may start Slicer by double clicking its icon, or a Slicer project
- icon, or you may run it from the CLI, or a script (see "Batch mode" below).
- When you start Slicer, you will first see the screen format requester. The
- default is a 320 X 200 screen with 32 colors, low res screens will be
- completed faster than high res screen. Click the "START" button, if a file
- was specified Slicer will load and begin working on it, otherwise it will
- begin computing a default image of the Mandelbrot set.
-
-
- ************************************************************************
-
- Screen Format Requester:
-
- When Slicer starts out you will see the screen format requester. Select
- the screen size and number of colors you wish to work with, then click the
- "start" button. Note that Slicer can create overscan sized images, but it
- does not display them in overscan.
-
-
- ************************************************************************
-
- Palette Requester:
-
- To change the colors in the screens palette, select the "Palette" item
- from the "Picture" menu, and the palette requester will be displayed.
- Select the color to be changed by clicking that color in the grid on the
- right of the requester, the selected color will be marked with a solid box,
- the previously selected color will be marked with a dotted box. The
- selected color may be changed by moving either the red, green, blue,
- (R,G,B) or hew, saturation, luminance, (H,S,L) sliders. To create a
- continuous range of colors, select and set the color at one end of the
- range, select and set the color at the other end of the range, then click
- the "RANGE" button.
-
-
- ************************************************************************
-
- Color Maps, and the Color Map Requester:
-
- The color map is used to specify how the screens palette colors are used
- within the picture. For each pixel in an image, Slicer computes a number
- called the dwell, the color map specifies which palette colors are used for
- each dwell value. The "Color Map" item from the "Picture" menu has an array
- of subitems that will create an assortment of convenient color maps. Each
- time you create a new image (by zooming or using any item from the "Slice"
- menu), it will be necessary to try a few new color maps.
-
- Selecting the "Edit" subitem will bring up the color map requester for
- customizing the color map. The graph at the top is a hystogram of the dwell
- values for the slice. With the "RANGE" button, you can fill in part of the
- color map with a range of colors.
-
-
- ************************************************************************
-
- Edit Slice Specs Requesters:
-
- With these requesters you may specify which abstraction you want to see,
- the location, orintation, magnification, and other details of the slice.
-
- Specs Requester:
-
- Dwell Limit Maximum number of iterations. Generaly the
- larger this number is, the more detail will be
- revailed, and the longer it will take to
- complette the picture. As you increase
- magnifcation (zoom in) you will also need to
- increase the dwell limit. See the "Arithmetic"
- section below.
-
- Magnification The zoom factor. The larger the magnification,
- the smaller the area of the slice covered in the
- image.
-
- Location These four variables specify the location in
- four dimensions of the point in the center of
- the image. "x", and "y" are the components of
- the complex variable "z" (the orbiting or
- chaotic variable). "a", and "b" are the
- components of the complex variable "c" (the
- fixed or reference variable).
-
- Extra Variables
- These four variables have differant meenings for
- differant functions. "f", and "g" may be the
- components of the complex variable "h". "q" and
- others may be used as escape thresholds. See the
- "Arithmetic" section below.
-
- Mouse Location These buttons set the location or magnification
- Mouse Magnification to that of the region previously selected with
- the mouse. See "Regions" below.
-
-
- Orientation These buttons set the plane of the slice
- parallel to one of the six orthogonal planes.
- You are not limited to these six planes, see the
- "Move Requester" below.
-
- a b This plane is parallel to the Mandelbrot set
- (the fixed or reference plane).
-
- x y This plane is a Julia set (the plane where
- chaotic motion takes place).
-
- a x These planes have each dimension aligned with
- a y one dimension of each of the planes above.
- x y Allowing you to see slices perpendicular (edge
- y b on) to the Mandelbrot and Julia sets.
-
- Arithmetic The up and down arrow buttons allow you to
- select which function you wish to see, and the
- numerical precision. See the "Arithmetic"
- section below.
-
- Specs With these buttons you may switch between the
- Move three slice specs requesters.
- Basis
-
- START Begins creating a new image based on the
- information specified above. WARNING the
- previous image will be lost.
-
- RESET Restore the information above to that of the
- current image.
-
- CANCEL Ignore the information above and return to the
- current image.
-
-
- Move Requester:
-
- Distance This is the relative distance used by the Move
- buttons below. Where a distance of one is equal
- to one half the width of the screen.
-
- Move Each of these buttons will move the center of
- x+ the slice "Distance" in the specified direction.
- y+ "x+" and "y+" will pan within the plane of the
- a+ current slice, "a+" and "b+" will move the plane
- b+ perpendicular to the current slice.
-
- Angle This is the angle (in degrees) used by the
- rotate buttons below.
-
- Rotate Each of these buttons will rotate the plane of
- x y the slice.
- x a
- y a
- a b
- x b
- y b
-
-
- Basis Requester:
-
- Basis vectors These numbers are used internally to keep track
- of the orientation of the slice.
-
- Aspect Ratio Pixel width divided by pixel height.
-
- D Set aspect ratio to the default for the screen
- size.
-
-
- ************************************************************************
-
- Arithmetic:
-
- 1 z=z²+c Level Sets 48bit
-
- This is the traditional way of creating images of the Mandelbrot and
- Julia sets. You may start your search with the default image, or set the
- dwell limit at 32 or more, the magnification at 0.5, each location
- variable at zero, and "q" (the escape threshold) from the extra
- variables at four.
-
- 2 z=z²+c Level Sets IEEE
-
- Same as above, but computed at a higher level of precision.
-
- 3 z=z²+c Binary Decomposition 48bit
-
- Binary decomposition surrounds the set with a checkerboard like pattern.
- These are best on a high res screen with two, or four colors. Start your
- search as above, but with "q" set to 150.
-
- 4 z=z²+c Binary Decomposition IEEE
-
- Same as above, but computed at a higher level of precision. "q" may be
- set from 150, to 10000.
-
- 5 z=z²+c Epsilon Cross 48bit
-
- Epsilon cross shows a tangle of intersecting arcs inside and outside of
- the set, the "f" and "g" variables set the thickness of these arcs.
- These are best on a high res screen with two, or four colors. Start your
- search with the dwell limit at 32 or more, the magnification at 0.5,
- each location variable at zero, "f" and "g" at 0.0001, and "q" at four.
-
- 6 z=z²+c Epsilon Cross IEEE
-
- Same as above, but computed at a higher level of precision.
-
- 7 z=z²+c Distance Estimate / f IEEE
-
- This surrounds the set with an aura based on an estimate of the distance
- to the set divided by "f". These distance estimates are correct only for
- the "a b", and "x y" orientations, though other orientations may still
- be interesting. Start your search with the dwell limit at 100 or more,
- the magnification at 0.5, each location variable at zero, "f" should be
- set similar to the magnification, and "q" may be set from 150, to
- 100000.
-
- 8 z=z²+c Distance Disk < r IEEE
-
- This surrounds the set with a thin border if an estimate of the distance
- to the set is less than "r". This mode works only for the "a b", and
- "x y" orientations, also the quick zoom (2x) should not be used. These
- are best on a high res screen with two, or four colors. Start your
- search with the dwell limit at 100 or more, the magnification at 0.5,
- each location variable at zero, "r" set at 0.5, and "q" may be set from
- 150, to 100000.
-
- 9 z=z²+(c*1^n) Level Sets IEEE
-
- Alternates between z²+c and z²-c. Set specs like #1 above.
-
- 10 z=z²+¹/c Level Sets IEEE
-
- The Mandelbrot set turned inside-out. Set specs like #1 above.
-
- 11 h=h³-3c²h+z Level Sets IEEE
-
- The four-dimensional Mandelbrot set (usualy written z=z³-3a²+b). Set "f"
- and "g" to zero, "q"to four. If using the "a b" orientation "x" and "y"
- must not both be zero.
-
- 12 z=z³-3c²z+h Level Sets IEEE
-
- The two dimensions from the four-dimensional Mandelbrot set, and two
- from its Julia sets. If using the "a b" orientation "f" and "g" must not
- both be zero.
-
- 13 z=z³-3h²z+c Level Sets IEEE
-
- The other two dimensions from the four-dimensional Mandelbrot set, and
- two from its Julia sets.
-
- 14 z=(2z³-1)/3z²+c Level Sets IEEE
-
- This is Newtons method to solve z³-1=0. Start with the the dwell limit
- at 32 or more, the magnification at 0.5, each location variable at zero,
- "r" at 0.00005, and the orientation set to "x y".
-
- 15 z=((z²+c-1)/(2z+c-2))² Level Sets IEEE
-
- Start with the dwell limit at 32 or more, the magnification at 0.5, each
- location variable at zero, "r" set at 0.00005, and "q" may be set at 100
- or more.
-
- 16 z=sin(z)*c Level Sets IEEE
-
- Start with the dwell limit set from 16 to 32, the magnification at 0.15,
- "x", "y", and "b" at zero, "a" at one, "q" at 50, and the orientation
- set to "x y".
-
- 17 z=cos(z)*c Level Sets IEEE
-
- Start with the dwell limit set from 16 to 32, the magnification at 0.5,
- "x", "y", and "b" at zero, "a" at about 2.95, "q" at 50, and the
- orientation set to "x y".
-
- 18 z=c*e^z Level Sets IEEE
-
- Start with the dwell limit set from 16 to 32, the magnification at 0.2,
- "x" at two, "a" at about 0.47, "y" and "b" at zero, "q" at 50, and the
- orientation set to "x y".
-
- 19 v=(x,y,a,)v(1-v) Lyapunov Space IEEE
-
- This iterates the logistic formula (usually written "x=rx(1-x)") and
- replaces "r" with each of the location components in turn. The extra
- veriables "f", "g", and "q" specify how many times each location
- variable "x", "y", or "a" is used before moving on to the next one. The
- dwell limit sets the number of initial iterations (the settling down
- period). "r" sets the number of iterations for calculating the Lyapunov
- exponent. For two-dimensional Lyapunov space start with the dwell limit
- at 50 or more, "r" at 200, the manification at 0.8, "x" at three, "y" at
- 3.4, "f" and "g" at one (or some larger integers), orientation set to
- "x y". For three-dimensional Lyapunov space set "q" to some positive
- integer, and try different locations and orientations (note that this is
- three dimensional, the "b" dimension is not used).
-
- 20 ???
-
- At this time there are 19 functions, but more may easily be added. If
- you know of a function or algorthim that makes interesting pictures,
- send me a description and it may be included in a future version of
- Slicer.
-
-
- ************************************************************************
-
- Regions:
-
- To select a region within an image, position the mouse pointer over the
- center of the region and press the mouse button. A box will be highlighted,
- to change the size of the region drag the mouse in any direction (the box
- that appears before you move the mouse, is a fast 2x zoom). When you
- release the mouse button, the location and size are stored for use by the
- "Zoom In", "Zoom Out", "Pan", and "Focus" menu items. You may also zoom in
- on the region by clicking the menu button while holding the mouse button
- then releasing both buttons.
-
-
- ************************************************************************
-
- Batch Mode:
-
- When run from the CLI or from a script file, Slicer may be programmed to
- save its results and quit automatically (see the "When Complete" menu item
- below). This allows you to use a script to keep your Amiga busy all night
- completing many pictures.
-
- SLICER [<project>]
-
- This will run Slicer as if it were run from the workbench.
-
- SLICER -b <project> [<picture>]
-
- With this option, Slicer will complete the project and save it, then quit.
- If a picture file name is included, it will also save it as a picture file.
-
- SLICER -bp <project> <picture>
-
- With this option Slicer will complete the project and save only the picture
- file, then quit.
-
-
- ************************************************************************
-
- MENUS:
-
- Project This menu controls what Slicer is doing
- with the entire project.
-
- Load Load a Slicer project file with the
- requested file name.
-
- Save Save a Slicer project file with the
- existing file name.
-
- Save as Save a Slicer project file with the
- requested file name.
-
- Save Specs Save a Slicer project file without any
- image data (specifications only).
-
- Focus Direct Slicer to complete a portion of the
- image first.
-
- ON F Begin to focus on the region selected
- with the mouse.
-
- OFF Return to working on the whole image.
-
- Multi Pass Toggle multi pass on/off.
-
- When Complete Direct Slicer to take the following
- action when the project is complete.
-
- Save Picture Save image as IFF ILBM file.
-
- Save Project Save Slicer project file.
-
- Quit Exit Slicer.
-
- Quit Q Exit Slicer.
-
- Picture This menu controls how the picture is
- rendered.
-
- Save Picture Save image as IFF ILBM file.
-
- Color Map Change the way the palette colors are used
- within the image.
-
- Edit C Use the color map editor to create a
- custom color map.
-
- a 1 a 2 a 4 Select from default color maps.
-
- b b ...
-
- c ... ...
-
- ... ... ...
-
- Palette P Use palette requester to change the colors
- in the palette.
-
- Cycle Colors Rotate colors within the palette.
-
- 1+ Up 1
-
- 1+ Down 2
-
- Up 3
-
- Down 4
-
- Restore R
-
- Title Bar T Toggle title bar on/off.
-
- Pointer A Toggle mouse pointer on/off.
-
- Slice This menu controls what picture is being
- created.
-
- Zoom In Z Zoom in on the region selected with
- the mouse.
-
- Zoom Out Zoom out 2x centered on the region
- selected with the mouse.
-
- Pan Recenter the slice on the region selected
- with the mouse.
-
- Edit Create a new slice.
-
- Specs S Edit slice specsifications.
-
- Move M Relative move in four dimensions.
-
- Basis B Access to some arcane internal
- variables.
-
-
- ************************************************************************
-
- Recommended reading:
-
- The Beauty of Fractals.
- Heinz-Otto Peitgen and Peter H. Richter.
- Springer-Varlag, 1986.
-
- The Science of Fractal Images.
- Edited by Heinz-Otto Peitgen and Dietmar Saupe.
- Springer-Varlag, 1988.
-
- The Fractal Geometry of Nature.
- Benoit B. Mandelbrot.
- W. H. Freeman and Company, 1983.
-
- Turtle Geometry. The Computer as a Medium for Exploring Mathematics.
- Harold Abelson and Andrea diSessa
- MIT Press 1981
-
- Computer Recreations. A computer microscope zooms in for a look at the
- most complex object in mathematics.
- A. K. Dewdney in Scientific American, Vol. 253, No. 2,
- pages 16-24; August 1985.
-
- Computer Recreations. Beauty and profundity: the Mandelbrot set and a
- flock of its cousins called Julia.
- A. K. Dewdney in Scientific American, Vol. 257, No. 5,
- pages 140-145; November 1987.
-
- Computer Recreations. (Response from readers).
- A. K. Dewdney in Scientific American, Vol. 258, No. 3,
- page 117; March 1988.
-
- Computer Recreations. A tour of the Mandelbrot set aboard the Mandelbus.
- A. K. Dewdney in Scientific American, Vol. 260, No. 2,
- pages 108-111; February 1989.
-
- Mathematical Recreations. Leaping into Lyapunov Space.
- A. K. Dewdney in Scientific American, Vol. 265, No. 3,
- pages 178-180; September 1991.
-
-
- ************************************************************************
-
- Please contact me if you have any comments, or bugs to report.
-
- Gary Teachout
- 10532 66 Place, W
- Mukilteo, WA 98275
- USA
-
-